Currently models of graphical objects can be created in a variety of ways such as by CAD drawing packages, scanned drawings, video, and other techniques. Such models are generally stored as digital data in a storage device for subsequent retrieval and manipulation. The storage device may be located either internally or externally to the data processing system used to manipulate the model data. If the storage device is external to the data processing system, then the data processing system will typically have an I/O port through which it can be connected to the storage device.
Often a user will wish to manipulate the data representing the model as he creates the model. This is usually done by providing input means to allow the user's details of the object being modelled to be fed into the data processing system as they are created. Typical input means may be a pen and tablet, or a pen on a touchscreen display, where lines drawn by the user are converted into electrical signals and input into the system. Alternatively, the input means may be a mouse, a video camera, the output of an X-ray apparatus, etc.
Most data processing systems apply smoothing functions in one form or another to the image data entered in such a manner before displaying a 2D (two dimensional) representation of the image to the user. However there is a fundamental problem for all such smoothing functions in that they must attempt to distinguish between what the user drew and what he actually meant to draw. For example, a line feature, such as a kink or a change in direction, may be mere noise due to imperfect user input, or the line feature may be a deliberate feature that the user intended to introduce. Many signal processing techniques have been developed which attempt to distinguish between imperfect user input and deliberate line features and they are generally becoming more complex and more successful at making the distinction. However, these techniques may still fail in many instances.